Currently, in the communications industry, policy-based communications network management is employed in a “pre-provisioned mode” in accordance with which: all conditions for policy evaluation are pre-determined, and corresponding pre-computed policy decisions are stored in a policy repository such as, but not limited to, a directory and/or a database. However, there is a need to provide services and/or to perform policy-based communications network management employing real-time policy evaluation. For example, real-time policy evaluation is needed to enforce policies controlling dynamic network behavior related to resource utilization state changes and/or signaling events in providing dynamic policy-based communications network management and service provisioning.
The benefits of policy-based communications network management and service provisioning are most apparent when policy-based communications network management and/or service provisioning is applied to large numbers of policy-managed entities. However, when policy-based communications network management and/or service provisioning are to be performed in real-time; acquiring all relevant information, tracking events in real-time, and evaluating each separate associated policy condition in a timely and efficient manner; remains a major challenge.
In accordance with a prior art policy evaluation implementation 100 schematically presented in FIG. 1, a database 150, highly customized schemas 151, and abstraction layers are employed to hide implementation complexities of the database technology used.
Exemplary policy events, and changes to policy-managed communications network entity states are kept track of in the database 150. Prior art policy evaluation is implemented using database queries serviced via stored policy procedures 158 and database triggering techniques. The database 150 is updated upon receiving a policy event 112 and/or receiving a network state update 112. The database triggers employed to implement a particular policy related response, generate a sequence of specific queries used to determine the set of policy decisions 156 to be applied to policy-managed entities 160 in the associated communications network.
In view of the above described policy management technique it is difficult to devise and implement efficient real-time policy evaluation suitable for dynamic decision making in support of real-time policy-based communications network management and/or service provisioning, since the overall dynamics of large numbers of policy-managed entities 160 can be influenced, at any given time, by one or both of:                policy events/state updates 112 that affect large numbers of policy-managed entities 160; and        individual actions by users interacting with policy-managed entities 160, or actions affecting users within a short period of time, which may be correlated or uncorrelated (e.g., denial of service attacks).        
Known prior art implementations typically suffer from limitations which include:                In employing real-time databases 150 for policy storage, the schema 151 employed becomes very hard to maintain because database technologies lack a flexibility in resolving arbitrary queries in an efficient manner. To overcome this obstacle, prior art implementations employ pre-determined schemas 151 and caching strategies to perform certain specific operations. The use of predetermined schemas 151 and the caching techniques, leads to overly involved development efforts for any required change in updating policies and the associated database triggering. Typically as each particular database-technology-based implementation progresses and evolves, the policy evaluation performance becomes very unpredictable because the schema 151 tends to evolve in a manner that does not satisfactorily support policy decision resolution. In accordance with prior art techniques, costly redevelopment and redeployment of the subject application may be the only solution to alleviate this shortcoming; and        If database triggering is employed on several policy servers 120 which need to cooperate when conditions for policy evaluation apply to different policy domains, the use of the database 150 in servicing each policy event/network state update 112 leads to an inefficient use of critical resources. More specifically, it leads to waste of storage resources in caching interim policy related content that is predicted to be necessary to subsequent computations, and it also leads to intensive messaging between policy servers 120, and related policy-managed entities 160, to make up for the lack of predefined database stored procedures for policy enforcement of policies having cross-domain relevance. The situation arises because the database schema, caching strategies, and stored procedures are not adequately coordinated with decision processes that detect the policy event/network state updates 112 as a cause for triggering an immediate policy (re)evaluation. For instance, consider N different policy groups, where each policy group is being specified in a record in the database 150. If each policy group is to be evaluated upon the occurrence of a network state update 112 in an uncoordinated manner, there would be at least N separate evaluations, not all being able to take advantage of cached decisions made. In accordance with the prior art, cross-domain subject applications may have to be implemented on a single policy server 120 dedicated to the subject application, however such a solution, besides encountering problems related to the ownership of the policy server 120 especially if each domain falls under the management of a different service provider, suffers from an inability to service all policy-managed entities 160 concurrently. Such a solution would be inefficient, as typically only a small number of policy-managed entities 160 cross domain boundaries at any time.        
It is further desirable that a policy server 120, involved in policy evaluation, be capable not only of evaluating policies in real-time but also be capable to distribute policy decisions in a correct and timely manner to a large number of policy-managed entities 160.
There therefore is a need to solve the above mentioned issues in providing improved methods of real-time policy evaluation.